home *** CD-ROM | disk | FTP | other *** search
Makefile | 1995-06-01 | 3.6 KB | 149 lines |
- # (c) Copyright 1992 by Panagiotis Tsirigotis
- # All rights reserved. The file named COPYRIGHT specifies the terms
- # and conditions for redistribution.
-
- #
- # $Id: Makefile.freebsd,v 1.2 1995/06/01 01:18:34 chuck Exp $
- #
- # Based on Library makefile template: *Revision: 1.15 *
- #
-
- #
- # Available entries:
- # lib --> creates the library
- # install --> installs the library (archive, man page(s), header(s))
- # uninstall --> uninstall the library
- # clean --> removes all .o and .a files
- # spotless --> clean + uninstall
- # lint --> lints a file (usage: make lint MODULE=foo.c)
- # tags --> creates a tags file (from the SOURCES and HEADERS)
- # checkout --> checkout all files
- # dist --> distribution support
- #
-
- NAME = misc
- VERSION = 1.2.2
-
- HEADERS = misc.h ftwx.h env.h
- SOURCES = misc.c ftwx.c env.c cvt.c gcvt.c
- OBJECTS = misc.o ftwx.o env.o cvt.o gcvt.o
-
- MANFILES = misc.3 ftwx.3 env.3
- INCLUDEFILES = $(HEADERS)
-
- # The following variables are used by the 'install' entry and
- # should be customized:
- # LIBDIR: where the library will be placed
- # INCUDEDIR: where the include files will be placed
- # MANDIR: where the man pages will be placed
- #
- LIBDIR = $(HOME)/.links/libraries/$(ARCH)
- MANDIR = $(HOME)/.links/manpages/man3
- INCLUDEDIR = $(HOME)/.links/includes
-
- #
- # Possible flags:
- # -DOLD_DIR : must include <sys/dir.h> instead of <dirent.h>
- # -D__FTWX_NO_FTW : does not have <ftw.h>
- #
- DEFS = # used for command line defined flags
-
- DEBUG = -g # -g or -O
- VERSION_DEF = -DVERSION=\"MISC\ Version\ $(VERSION)\"
-
- CPP_DEFS = $(VERSION_DEF) $(DEFS)
-
- #
- # The following variables shouldn't need to be changed
- #
- LINT_FLAGS = -hbux
- CPP_FLAGS = $(CPP_DEFS)
- CC_FLAGS = $(DEBUG)
- CFLAGS = $(CPP_FLAGS) $(CC_FLAGS)
-
- INSTALL = install -c
- FMODE = -m 640 # used by install
- RANLIB = ranlib
-
- PAGER = less
-
-
- LIBNAME = lib$(NAME).a
-
- lib: $(LIBNAME)
-
- libopt: clean
- make DEBUG=-O lib
- mv $(LIBNAME) $(LIBDIR)/optimized
-
-
- $(LIBNAME): $(OBJECTS)
- ar r $@ $?
- $(RANLIB) $@
-
- lint:
- lint $(CPP_FLAGS) $(LINT_FLAGS) $(MODULE) 2>&1 | $(PAGER)
-
- install: $(LIBNAME)
- @if test "$(LIBDIR)" -a "$(INCLUDEDIR)" -a "$(MANDIR)" ;\
- then \
- $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR) ;\
- echo "Installed $(LIBNAME) to $(LIBDIR)" ;\
- for i in $(INCLUDEFILES); do $(INSTALL) $(FMODE) $$i $(INCLUDEDIR) ; done ;\
- echo Installed $(INCLUDEFILES) to $(INCLUDEDIR) ;\
- for i in $(MANFILES) ; do $(INSTALL) $(FMODE) $$i $(MANDIR) ; done ;\
- echo Installed $(MANFILES) to $(MANDIR) ;\
- else \
- echo "You forgot to set one of the following variables: LIBDIR,INCLUDEDIR,MANDIR" ;\
- fi
-
- uninstall:
- a=`pwd` ; cd $(INCLUDEDIR) ;\
- if test $$a != `pwd` ; then rm -f $(INCLUDEFILES) ; fi
- a=`pwd` ; cd $(LIBDIR) ;\
- if test $$a != `pwd` ; then rm -f $(LIBNAME) ; fi
- a=`pwd` ; cd $(MANDIR) ;\
- if test $$a != `pwd` ; then rm -f $(MANFILES) ; fi
-
- clean:
- rm -f $(OBJECTS) $(LIBNAME) core
-
- spotless: clean uninstall
-
- tags: $(SOURCES) $(HEADERS)
- ctags -w $(SOURCES) $(HEADERS)
-
- checkout:
- co $(SOURCES) $(HEADERS) $(MANFILES)
-
- #
- # Distribution section
- # This section contains the 2 targets for distribution support: dist, dirs
- # "dist" checks out all files to be distributed
- # "dirs" prints a list of directories to be included in the distribution.
- # These directories should have a Makefile with a "dist" target
- #
- DISTRIBUTION_FILES = $(HEADERS) $(SOURCES) $(MANFILES) README
- DIRS =
-
- dist:
- -co -q $(DISTRIBUTION_FILES)
-
- dirs:
- @echo $(DIRS)
-
- #
- # PUT HERE THE RULES TO MAKE THE OBJECT FILES
- #
- misc.o: misc.h
- ftwx.o: ftwx.h misc.h
- env.o: env.h misc.h
-
-
- #
- # Test program
- #
- tt: tt.c $(LIBNAME)
- $(CC) -g tt.c -o $@ $(LIBNAME) -L$(LIBDIR) -ltest
-
-